001 /*********************************************************************************************** 002 * Tekijä: Jukka Salminen 003 * Opiskelijanumero: i79947 004 * Email: jukka.salminen@uwasa.fi 005 * Tekoaika: 23.9.2002 006 * Kurssi/vuosi: Ohjelmoinnin jatkokurssi/kevät 2002 007 * Työn tunnus: Harjoitustyö: Taulukkoeditori web-sivulle 008 *********************************************************************************************** 009 * mainFrame-luokka 010 *==================== 011 * Tämän luokka on testisovelluksen graafinen käyttöliittymä. 012 * Ominaisuuksiltaan tämä on identtinen JSApplet-luokan kanssa. 013 * 014 * Metodit 015 *-------- 016 * iniComponents Luo graafisen käyttöliittymän tarvitsemat objektit. 017 * 018 * Jäsenmuuttujat (hierarkian mukaan järjestettynä) 019 * ------------------------------------------------ 020 * m_sURL 021 * ------ 022 * String URL tai tiedosto, josta data haetaan 023 * 024 * Pääikkuna jaetaan kolmeksi JSPanel-luokasta peritytyväksi paneeliksi 025 * m_oPanel, m_oPanel2 ja m_oPanel3. Nämä asetellaan päällekkäin Boxlayoutilla. 026 * Paneeleissa olevat painonapit järjestetään Flowlayoutilla 027 * =============================================================================== 028 * m_oPanel sisältää objektit 029 * -------------------------- 030 * m_oScrollpane 031 * -------------- 032 * JScrollPane Container-objekti taulukolle m_oTable 033 * 034 * m_oTable 035 * -------- 036 * JSTable Taulukko, jota editoidaan 037 * =============================================================================== 038 * m_oPanel2 sisältää JSButton-objektit 039 * ------------------------------------ 040 * m_AddNewColumnButton Sarakkeen lisäys 041 * m_RemoveColumnButton Editoitavan sarakkeen poisto 042 * m_SaveButton Koko taulukon tallennus 043 * =============================================================================== 044 * m_oPanel2 sisältää JSButton-objektit 045 * ------------------------------------ 046 * m_InsertRowButton Rivin lisäys väliin 047 * m_AddRowButton Rivin lisäys loppuun 048 * m_RemoveRowButton Editoitavan rivin poisto 049 * =============================================================================== 050 * Paikalliset muuttujat 051 *---------------------- 052 * Ei ole 053 */ 054 055 package forms; 056 import javax.swing.*; 057 import java.awt.event.*; 058 import classes.*; 059 import tables.*; 060 /** 061 * 062 * @author Jukka 063 */ 064 public class mainFrame extends classes.JSFrame 065 { 066 /** Creates new form JSFrame */ 067 public mainFrame() 068 { 069 initComponents(); 070 } 071 public mainFrame(String sURL) 072 { 073 setURL(sURL); 074 initComponents(); 075 } 076 077 /** This method is called from within the constructor to 078 * initialize the form. 079 */ 080 private void initComponents()//GEN-BEGIN:initComponents 081 { 082 m_oPanel = new forms.Panel1(); 083 m_oScrollPane = new javax.swing.JScrollPane(); 084 m_oTable = new tables.JSTable(); 085 m_oPanel2 = new forms.Panel1(); 086 m_AddNewColumnButton = new classes.JSActionButton(); 087 JSAction loAction = new TableAction(m_oTable); 088 m_AddNewColumnButton.addAction(loAction); 089 m_RemoveColumnButton = new classes.JSActionButton(); 090 m_RemoveColumnButton.addAction(loAction); 091 m_SaveButton = new classes.JSActionButton(); 092 m_SaveButton.addAction(loAction); 093 m_oPanel3 = new forms.Panel1(); 094 m_InsertRowButton = new classes.JSActionButton(); 095 m_InsertRowButton.addAction(loAction); 096 m_AddRowButton = new classes.JSActionButton(); 097 m_AddRowButton.addAction(loAction); 098 m_RemoveRowButton = new classes.JSActionButton(); 099 m_RemoveRowButton.addAction(loAction); 100 101 getContentPane().setLayout(new javax.swing.BoxLayout(getContentPane(), javax.swing.BoxLayout.Y_AXIS)); 102 103 setName("mainFrame"); 104 addWindowListener(new java.awt.event.WindowAdapter() 105 { 106 public void windowClosing(java.awt.event.WindowEvent evt) 107 { 108 exitForm(evt); 109 } 110 }); 111 112 m_oScrollPane.setBorder(null); 113 m_oScrollPane.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); 114 m_oScrollPane.setVerticalScrollBarPolicy(javax.swing.JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); 115 m_oScrollPane.setMaximumSize(new java.awt.Dimension(0, 0)); 116 m_oScrollPane.setPreferredSize(new java.awt.Dimension(550, 300)); 117 m_oScrollPane.setAutoscrolls(true); 118 m_oTable.setModel(new tables.JSTableModel(m_sURL)); 119 m_oTable.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_ALL_COLUMNS); 120 m_oTable.setFont(new java.awt.Font("Dialog", 0, 14)); 121 m_oScrollPane.setViewportView(m_oTable); 122 123 m_oPanel.add(m_oScrollPane); 124 125 getContentPane().add(m_oPanel); 126 127 m_AddNewColumnButton.setToolTipText("Lis\u00e4\u00e4 uusi sarake"); 128 m_AddNewColumnButton.setLabel("AddColumn"); 129 m_AddNewColumnButton.setName(""); 130 m_oPanel2.add(m_AddNewColumnButton); 131 132 m_RemoveColumnButton.setText("RemoveColumn"); 133 m_RemoveColumnButton.setToolTipText("Poista sarake"); 134 m_oPanel2.add(m_RemoveColumnButton); 135 136 m_SaveButton.setText("Save"); 137 m_SaveButton.setToolTipText("Save"); 138 m_oPanel2.add(m_SaveButton); 139 140 getContentPane().add(m_oPanel2); 141 142 m_InsertRowButton.setText("InsertRow"); 143 m_InsertRowButton.setToolTipText("InsertRow"); 144 m_oPanel3.add(m_InsertRowButton); 145 146 m_AddRowButton.setText("AddRow"); 147 m_AddRowButton.setToolTipText("AddRow"); 148 m_oPanel3.add(m_AddRowButton); 149 150 m_RemoveRowButton.setToolTipText("RemoveRow"); 151 m_RemoveRowButton.setActionCommand("RemoveRow"); 152 m_RemoveRowButton.setLabel("RemoveRow"); 153 m_oPanel3.add(m_RemoveRowButton); 154 155 getContentPane().add(m_oPanel3); 156 157 pack(); 158 }//GEN-END:initComponents 159 160 /** Exit the Application */ 161 private void exitForm(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_exitForm 162 System.exit(0); 163 }//GEN-LAST:event_exitForm 164 165 public void setURL(String sURL) 166 { 167 this.m_sURL = sURL; 168 } 169 170 // Variables declaration - do not modify//GEN-BEGIN:variables 171 private classes.JSActionButton m_RemoveColumnButton; 172 private classes.JSActionButton m_AddRowButton; 173 private classes.JSActionButton m_AddNewColumnButton; 174 private tables.JSTable m_oTable; 175 private forms.Panel1 m_oPanel3; 176 private forms.Panel1 m_oPanel2; 177 private forms.Panel1 m_oPanel; 178 private classes.JSActionButton m_RemoveRowButton; 179 private javax.swing.JScrollPane m_oScrollPane; 180 private classes.JSActionButton m_InsertRowButton; 181 private classes.JSActionButton m_SaveButton; 182 // End of variables declaration//GEN-END:variables 183 184 private static String m_sURL = "http://localhost/labonet/XMLTable.hb"; 185 186 }